#!/bin/bash

#    / **  
#    * 文件名：安装linux软件
#    * 版权： Copyright 谢振斌  All Rights Reserved.  
#    * 修改内容：新增  
#    * 修改人： 谢振斌  
#    * 修改时间：2021-9-21
#    */  

# version
Version='1.3.0'
#System name
System="$(uname -s)"

# Init option 
Color_off='\033[0m'       # Text Reset

# terminal color template
# Regular Colors
Black='\033[0;30m'        # Black
Red='\033[0;31m'          # Red
Green='\033[0;32m'        # Green
Yellow='\033[0;33m'       # Yellow
Blue='\033[0;34m'         # Blue
Purple='\033[0;35m'       # Purple
Cyan='\033[0;36m'         # Cyan
White='\033[0;37m'        # White

function msg() {
    printf '%b\n' "$1" >&2
}

function success() {
    msg "${Green}[✔]${Color_off} ${1}${2}"
}

function info() {
    msg "${Blue}[➭]${Color_off} ${1}${2}"
}

function error() {
    msg "${Red}[✘]${Color_off} ${1}${2}"
  exit 1
}

function warn () {
    msg "${Yellow}[⚠]${Color_off} ${1}${2}"
}



#    / **  
#    *〈流程控制〉  
#    *〈该脚本的主函数〉  
#    * @param [无]  
#    * @return [无]  
#    * @exception/throws [无]  
#    * @deprecated  
#    */  
function processControlMain()  
{  
    # 打印当前系统时间  
    echo "Start..."  
    date  

    if [[ -f "$HOME/.vimrc" ]]; then
        mv "$HOME/.vimrc" "$HOME/.vimrc_back"
        success "备份 $HOME/.vimrc 至 $HOME/.vimrc_back"
    fi

    if [[ -f "$HOME/.SpaceVim.d" ]]; then
        mv "$HOME/.SpaceVim.d" "$HOME/.SpaceVim.d_back"
        success "备份 $HOME/.SpaceVim.d 至 $HOME/.SpaceVim.d_back"
    fi

    if [[ -d "$HOME/.vim" ]]; then
        if [[ "$(readlink $HOME/.vim)" =~ \.SpaceVim$ ]]; then
          success "已为 vim 安装了 SpaceVim"
        else
          mv "$HOME/.vim" "$HOME/.vim_back"
          success "备份 $HOME/.vim 至 $HOME/.vim_back"
          ln -s "$HOME/.SpaceVim" "$HOME/.vim"
          success "已为 vim 安装了 SpaceVim"
        fi
    else
        ln -s "$HOME/.SpaceVim" "$HOME/.vim"
        success "已为 vim 安装了 SpaceVim"
    fi

    # 打印当前系统时间  
    date  
    echo "The End."
}  

# 执行入口 
# 进入脚本目录位置
cd `dirname $0`
# 获取当前脚本目录位置
shellfilepath=`pwd`'/'$0
# 打印脚本目录地址
echo "[INFO]: 脚本地址 "${shellfilepath}

if true  
# if false  
then  
    echo "[Debug] true"
    # 开始执行  从标准输入中读取并同时写入到标准输出和指定的文件上 
    ## 拼接日志文件地址
    #logfilepath=`pwd`'/'$0'.log'
    logfilepath=`pwd`'/'$0'-'$(date +%Y%m%d)'.log'
    #logfilepath=`pwd`'/'$0'-'$(date +%Y%m%d-%H-%M-%S)'.log'
    ## 打印日志文件地址
    echo "[INFO]: 日志地址" ${logfilepath}
    processControlMain  | tee -a ${logfilepath}
else  
    echo "[Debug] false"  
    ## 函数单元测试  
    #  
fi  

# 脚本结束  
# 软件配置文件软链接设置脚本


